﻿using CleverDD.Model.Communication.PLC;
using HslCommunication;
using System.Collections.Generic;
using System;
using CleverDD.Helper.Interface;

namespace CleverDD.Helper.Communication.PLC
{
    public class BasePlcReadAndWrite : IPlcReadAndWriteInterface
    {

        public bool IsConnected;
        // virtual 虚方法,可重写
        public virtual OperateResult ClosePlc()
        {
            throw new NotImplementedException();
        }

        public virtual OperateResult ReadAll(List<PlcAddressInfoEntity> plcAddressInfoList)
        {
            throw new NotImplementedException();
        }

        public virtual OperateResult ConnPlc(string ip, int port)
        {
            throw new NotImplementedException();
        }



        public virtual OperateResult<bool> ReadBool(string address)
        {
            throw new NotImplementedException();
        }

        public virtual OperateResult<byte> ReadByte(string address)
        {
            throw new NotImplementedException();
        }

        public virtual OperateResult<double> ReadDouble(string address)
        {
            throw new NotImplementedException();
        }

        public virtual OperateResult<string> ReadString(string address, ushort length = 0, EncodingType encodingType = EncodingType.None)
        {
            throw new NotImplementedException();
        }

        public virtual OperateResult<float> ReadFloat(string address)
        {
            throw new NotImplementedException();
        }

        public virtual OperateResult<int> ReadInt(string address)
        {
            throw new NotImplementedException();
        }

        public virtual OperateResult<long> ReadLong(string address)
        {
            throw new NotImplementedException();
        }

        public virtual OperateResult<short> ReadShort(string address)
        {
            throw new NotImplementedException();
        }


        public virtual OperateResult<uint> ReaduInt(string address)
        {
            throw new NotImplementedException();
        }

        public virtual OperateResult<ulong> ReaduLong(string address)
        {
            throw new NotImplementedException();
        }

        public virtual OperateResult<ushort> ReaduShort(string address)
        {
            throw new NotImplementedException();
        }

        public virtual OperateResult WritePlc(PlcAddressInfoEntity plcAddressInfo, string value)
        {
            throw new NotImplementedException();
        }

        public virtual OperateResult WriteBool(string address, bool value)
        {
            throw new NotImplementedException();
        }

        public virtual OperateResult WriteByte(string address, byte value)
        {
            throw new NotImplementedException();
        }

        public virtual OperateResult WriteDouble(string address, double value)
        {
            throw new NotImplementedException();
        }

        public virtual OperateResult WriteFloat(string address, float value)
        {
            throw new NotImplementedException();
        }

        public virtual OperateResult WriteInt(string address, int value)
        {
            throw new NotImplementedException();
        }

        public virtual OperateResult WriteLong(string address, long value)
        {
            throw new NotImplementedException();
        }


        public virtual OperateResult WriteShort(string address, short value)
        {
            throw new NotImplementedException();
        }

        public virtual OperateResult WriteString(string address, string value, int length = 0, EncodingType encodingType = EncodingType.None)
        {
            throw new NotImplementedException();
        }

        public virtual OperateResult WriteuInt(string address, uint value)
        {
            throw new NotImplementedException();
        }

        public virtual OperateResult WriteuLong(string address, ulong value)
        {
            throw new NotImplementedException();
        }

        public virtual OperateResult WriteuShort(string address, ushort value)
        {
            throw new NotImplementedException();
        }
    }
}

